﻿
Partial Class Sistema_ConclusionesVisita
    Inherits System.Web.UI.Page
    Dim permiso As Boolean
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'identificar permisos
        Using h As New Helper()
            permiso = h.VerificarPermiso(Context.User.Identity.Name, 9, Helper.permisos.Editar)
        End Using
        If Page.IsPostBack = False Then
            'cargar datos
            hdidvisita.Value = Request.QueryString("idVisita").ToString
            hdidhogar.Value = Request.QueryString("idhogar").ToString
            llenarCombos()
            CargarDatos()
        End If


        validarInformacionCompleta()

        TextBox1.Enabled = permiso
        btnGuardar.Visible = permiso





    End Sub
    Sub validarInformacionCompleta()
        btnGuardar.Visible = True
        Dim consultaPsicosocial As Integer = 1
        'Solo se puede diligenciar a partir de la visita 1
        If (LblVisita.Text = "Levantamiento de información") Then
            consultaPsicosocial = 0
        End If

        'verificar que ya se haya diligenciado la información de los demás módulos
        Using bd As New BdHogaresDataContext

            'Response.Write(LblVisita.Text & hdidhogar.Value & consultaPsicosocial)

            Dim a = bd.RPTRevision04InstrumentosIncompletosXhogar(LblVisita.Text, hdidhogar.Value, consultaPsicosocial)

            If User.Identity.Name <> "aarias" Then

                If CInt(a.Single.Personas_con_módulos_no_diligenciados) > 0 Then
                    CustomValidator1.ErrorMessage = "LA INFORMACIÓN DE LA VISITA NO ESTA COMPLETAMENTE DILIGENCIADA, DEBE COMPLETAR LA INFORMACIÓN DE TODOS LOS MÓDULOS ANTES DE PRIORIZAR LA FAMILIA"
                    CustomValidator1.IsValid = False
                    CustomValidator1.Enabled = True
                    permiso = False
                    Exit Sub
                End If
            End If

        End Using
    End Sub

    Sub CargarDatos()
        Using bd As New BdHogaresDataContext
            Dim v = (From a In bd.Web_Visitas
            Where (a.idvisita = Request.QueryString("idVisita").ToString)
                    Select a.PrioridadAcompanamiento,
                    a.ConclusionVisita,
                    a.NombreProfesional,
                    a.Visita,
                    a.FechaDiligenciamiento,
                    a.Web_FormularioIdentificacionHogar.CodCoba,
                    a.PoblacionDesplazada,
                    a.MujerCabezaFamilia,
                    a.AdolecenteEmbarazada,
                    a.FamiliasConNinos,
                    a.FamiliasSuperioresa4,
                    a.BajaCapacidadEconomica,
                    a.FamiliaSinAfiliacion,
                    a.NinosSinVacunacion,
                    a.MenoresSinEducacion,
                    a.FamilaConDiscapacidad,
                    a.AdultosMayoresSinProgramas,
                    a.FamiliaEnfermedadesAltoCosto,
                    a.TipoDeVivienda,
                    a.MaltratoInfantil,
                    a.ViolenciaIntrafamiliar,
                    a.AbusoSexual,
                    a.DisfuncionFamiliar,
                    a.ConsumoAlcoholSPA,
                    a.NinosJovenesPandillas,
                    a.EnfermedadMental
                    ).FirstOrDefault

            lblCodigoCoba.Text = v.CodCoba
            LblFechaVisita.Text = CDate(v.FechaDiligenciamiento).ToShortDateString
            lblProfesional.Text = v.NombreProfesional
            LblVisita.Text = v.Visita
            TextBox1.Text = v.ConclusionVisita









            If LblVisita.Text = "Levantamiento de información" Then
                pnlPrioridadPsicosocial.Visible = False
            Else
                pnlPrioridadPsicosocial.Visible = True
            End If
            If IsNothing(v.PrioridadAcompanamiento) = False Then
                RadioButtonList1.SelectedValue = v.PrioridadAcompanamiento
            End If

            rbPoblacionDesplazada.SelectedValue = IIf(IsDBNull(v.PoblacionDesplazada), 0, v.PoblacionDesplazada)
            rbMujerCabezaFamilia.SelectedValue = IIf(IsDBNull(v.MujerCabezaFamilia), 0, v.MujerCabezaFamilia)
            rbAdolecenteEmbarazada.SelectedValue = IIf(IsDBNull(v.AdolecenteEmbarazada), 0, v.AdolecenteEmbarazada)
            rbFamiliasConNinos.SelectedValue = IIf(IsDBNull(v.FamiliasConNinos), 0, v.FamiliasConNinos)
            rbFamiliasSuperioresa4.SelectedValue = IIf(IsDBNull(v.FamiliasSuperioresa4), 0, v.FamiliasSuperioresa4)
            rbBajaCapacidadEconomica.SelectedValue = IIf(IsDBNull(v.BajaCapacidadEconomica), 0, v.BajaCapacidadEconomica)
            rbFamiliaSinAfiliacion.SelectedValue = IIf(IsDBNull(v.FamiliaSinAfiliacion), 0, v.FamiliaSinAfiliacion)
            rbNinosSinVacunacion.SelectedValue = IIf(IsDBNull(v.NinosSinVacunacion), 0, v.NinosSinVacunacion)
            rbMenoresSinEducacion.SelectedValue = IIf(IsDBNull(v.MenoresSinEducacion), 0, v.MenoresSinEducacion)
            rbFamilaConDiscapacidad.SelectedValue = IIf(IsDBNull(v.FamilaConDiscapacidad), 0, v.FamilaConDiscapacidad)
            rbAdultosMayoresSinProgramas.SelectedValue = IIf(IsDBNull(v.AdultosMayoresSinProgramas), 0, v.AdultosMayoresSinProgramas)
            rbFamiliaEnfermedadesAltoCosto.SelectedValue = IIf(IsDBNull(v.FamiliaEnfermedadesAltoCosto), 0, v.FamiliaEnfermedadesAltoCosto)
            rbTipoDeVivienda.SelectedValue = IIf(IsDBNull(v.TipoDeVivienda), 0, v.TipoDeVivienda)
            rbMaltratoInfantil.SelectedValue = IIf(IsDBNull(v.MaltratoInfantil), 0, v.MaltratoInfantil)
            rbViolenciaIntrafamiliar.SelectedValue = IIf(IsDBNull(v.ViolenciaIntrafamiliar), 0, v.ViolenciaIntrafamiliar)
            rbAbusoSexual.SelectedValue = IIf(IsDBNull(v.AbusoSexual), 0, v.AbusoSexual)
            rbDisfuncionFamiliar.SelectedValue = IIf(IsDBNull(v.DisfuncionFamiliar), 0, v.DisfuncionFamiliar)
            rbConsumoAlcoholSPA.SelectedValue = IIf(IsDBNull(v.ConsumoAlcoholSPA), 0, v.ConsumoAlcoholSPA)
            rbNinosJovenesPandillas.SelectedValue = IIf(IsDBNull(v.NinosJovenesPandillas), 0, v.NinosJovenesPandillas)
            rbEnfermedadMental.SelectedValue = IIf(IsDBNull(v.EnfermedadMental), 0, v.EnfermedadMental)

        End Using
    End Sub
    
    Sub llenarCombos()
        LlenarItems(rbPoblacionDesplazada, "sino")
        LlenarItems(rbMujerCabezaFamilia, "sino")
        LlenarItems(rbAdolecenteEmbarazada, "sino")
        LlenarItems(rbFamiliasConNinos, "sino")
        LlenarItems(rbFamiliasSuperioresa4, "sino")
        LlenarItems(rbBajaCapacidadEconomica, "sino")
        LlenarItems(rbFamiliaSinAfiliacion, "sino")
        LlenarItems(rbNinosSinVacunacion, "sino")
        LlenarItems(rbMenoresSinEducacion, "sino")
        LlenarItems(rbFamilaConDiscapacidad, "sino")
        LlenarItems(rbAdultosMayoresSinProgramas, "sino")
        LlenarItems(rbFamiliaEnfermedadesAltoCosto, "sino")
        LlenarItems(rbTipoDeVivienda, "sino")
        LlenarItems(rbMaltratoInfantil, "sino")
        LlenarItems(rbViolenciaIntrafamiliar, "sino")
        LlenarItems(rbAbusoSexual, "sino")
        LlenarItems(rbDisfuncionFamiliar, "sino")
        LlenarItems(rbConsumoAlcoholSPA, "sino")
        LlenarItems(rbNinosJovenesPandillas, "sino")
        LlenarItems(rbEnfermedadMental, "sino")
    End Sub

    Sub LlenarItems(ByVal objeto As Object, ByVal pregunta As String)
        If pregunta = "sino" Then : objeto.Items.Add(New ListItem("Sí", 1)) : objeto.Items.Add(New ListItem("No", 2)) : Exit Sub : End If
    End Sub

    Protected Sub btnCancelar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        Response.Redirect("HogaresConsulta.aspx?idHogar=" & hdidhogar.Value)
    End Sub

    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        Dim mensaje As String
        Dim Exepcion As String
        Dim NumeroError As Integer
        Try

            Using bd As New BdHogaresDataContext
                Dim v As Web_Visita
                v = (From a In bd.Web_Visitas
                    Where (a.idvisita = hdidvisita.Value)
                        Select a).FirstOrDefault

                v.ConclusionVisita = TextBox1.Text
                v.PrioridadAcompanamiento = If(RadioButtonList1.SelectedValue = "", Nothing, RadioButtonList1.SelectedValue)

                v.PoblacionDesplazada = If(rbPoblacionDesplazada.SelectedValue = "", Nothing, rbPoblacionDesplazada.SelectedValue)
                v.MujerCabezaFamilia = If(rbMujerCabezaFamilia.SelectedValue = "", Nothing, rbMujerCabezaFamilia.SelectedValue)
                v.AdolecenteEmbarazada = If(rbAdolecenteEmbarazada.SelectedValue = "", Nothing, rbAdolecenteEmbarazada.SelectedValue)
                v.FamiliasConNinos = If(rbFamiliasConNinos.SelectedValue = "", Nothing, rbFamiliasConNinos.SelectedValue)
                v.FamiliasSuperioresa4 = If(rbFamiliasSuperioresa4.SelectedValue = "", Nothing, rbFamiliasSuperioresa4.SelectedValue)
                v.BajaCapacidadEconomica = If(rbBajaCapacidadEconomica.SelectedValue = "", Nothing, rbBajaCapacidadEconomica.SelectedValue)
                v.FamiliaSinAfiliacion = If(rbFamiliaSinAfiliacion.SelectedValue = "", Nothing, rbFamiliaSinAfiliacion.SelectedValue)
                v.NinosSinVacunacion = If(rbNinosSinVacunacion.SelectedValue = "", Nothing, rbNinosSinVacunacion.SelectedValue)
                v.MenoresSinEducacion = If(rbMenoresSinEducacion.SelectedValue = "", Nothing, rbMenoresSinEducacion.SelectedValue)
                v.FamilaConDiscapacidad = If(rbFamilaConDiscapacidad.SelectedValue = "", Nothing, rbFamilaConDiscapacidad.SelectedValue)
                v.AdultosMayoresSinProgramas = If(rbAdultosMayoresSinProgramas.SelectedValue = "", Nothing, rbAdultosMayoresSinProgramas.SelectedValue)
                v.FamiliaEnfermedadesAltoCosto = If(rbFamiliaEnfermedadesAltoCosto.SelectedValue = "", Nothing, rbFamiliaEnfermedadesAltoCosto.SelectedValue)
                v.TipoDeVivienda = If(rbTipoDeVivienda.SelectedValue = "", Nothing, rbTipoDeVivienda.SelectedValue)
                v.MaltratoInfantil = If(rbMaltratoInfantil.SelectedValue = "", Nothing, rbMaltratoInfantil.SelectedValue)
                v.ViolenciaIntrafamiliar = If(rbViolenciaIntrafamiliar.SelectedValue = "", Nothing, rbViolenciaIntrafamiliar.SelectedValue)
                v.AbusoSexual = If(rbAbusoSexual.SelectedValue = "", Nothing, rbAbusoSexual.SelectedValue)
                v.DisfuncionFamiliar = If(rbDisfuncionFamiliar.SelectedValue = "", Nothing, rbDisfuncionFamiliar.SelectedValue)
                v.ConsumoAlcoholSPA = If(rbConsumoAlcoholSPA.SelectedValue = "", Nothing, rbConsumoAlcoholSPA.SelectedValue)
                v.NinosJovenesPandillas = If(rbNinosJovenesPandillas.SelectedValue = "", Nothing, rbNinosJovenesPandillas.SelectedValue)
                v.EnfermedadMental = If(rbEnfermedadMental.SelectedValue = "", Nothing, rbEnfermedadMental.SelectedValue)

                bd.SubmitChanges()
                bd.registrarLog(Context.User.Identity.Name, 9, Request.CurrentExecutionFilePath)


            End Using
        Catch ex As Exception
            mensaje = "ERROR"
            Exepcion = ex.Message
        Finally
            If Not IsNothing(mensaje) Then
                Using bd As New bdSeguridadDataContext 'calcula el numero de error que sera asignado al usuario
                    Dim a = (From i In bd.web_Errores Select i.idError).Max
                    NumeroError = a.ToString
                End Using

                Using bd As New BdHogaresDataContext
                    bd.registrarLogError(Context.User.Identity.Name, 6, Request.CurrentExecutionFilePath, Exepcion) 'Guarda en la tabla web_errores la exepción
                End Using

                contentmsg.InnerHtml = "<script>mostrarmensaje('Error en el registro de los datos','Ha ocurrido un error guardando los datos, por favor pongase en contacto con el administrador del sistema. \n EL NÚMERO DE SU ERROR ES:" & NumeroError.ToString + 1 & "' ,'error');</script>"
            Else
                contentmsg.InnerHtml = "<script>alert('Los datos se han guardado de manera exitosa');window.location = 'HogaresConsulta.aspx?idHogar=" & hdidhogar.Value & "' </script>"

                'contentmsg.InnerHtml = "<script>mostrarmensaje('Registro de datos exitoso','Los datos fueron guardados correctamente<br> <br><br><input id=\'Button1\' type=\'button\' value=\'Regresar\' onclick=\'redireccionar(); />','success');</script>"

            End If
        End Try

    End Sub
End Class
